package cn.yinyu.queue.module.ecg.service.checktype;

import java.util.*;
import cn.yinyu.queue.module.ecg.controller.admin.checktype.vo.*;
import cn.yinyu.queue.module.ecg.dal.dataobject.checktype.CheckTypeDO;
import cn.yinyu.queue.framework.common.pojo.PageResult;
import cn.yinyu.queue.framework.common.pojo.PageParam;

import javax.validation.Valid;

/**
 * 检查类型 Service 接口
 *
 * @author majianbo
 */
public interface CheckTypeService {

    /**
     * 创建检查类型
     *
     * @param createReqVO 创建信息
     * @return 编号
     */
    Integer createCheckType(@Valid CheckTypeSaveReqVO createReqVO);

    /**
     * 更新检查类型
     *
     * @param updateReqVO 更新信息
     */
    void updateCheckType(@Valid CheckTypeSaveReqVO updateReqVO);

    /**
     * 删除检查类型
     *
     * @param id 编号
     */
    void deleteCheckType(Integer id);

    /**
     * 获得检查类型
     *
     * @param id 编号
     * @return 检查类型
     */
    CheckTypeDO getCheckType(Integer id);

    /**
     * 获得检查类型分页
     *
     * @param pageReqVO 分页查询
     * @return 检查类型分页
     */
    PageResult<CheckTypeDO> getCheckTypePage(CheckTypePageReqVO pageReqVO);

    /**
     * 获得检查类型.简单列表
     */
    List<CheckTypeDO> getSimpleCheckTypeList();

}